package com.bbva.kyfb.kyfbdaohostimpl.servicios.host.tlsmt592_1_1_1;

import java.math.BigDecimal;
import java.util.Date;

import org.springframework.roo.addon.javabean.RooJavaBean;
import org.springframework.roo.addon.serializable.RooSerializable;
import org.springframework.roo.addon.tostring.RooToString;

import com.bbva.jee.arq.spring.core.host.Campo;
import com.bbva.jee.arq.spring.core.host.TipoCampo;
import com.bbva.jee.arq.spring.core.host.Transaccion;

/**
 * <p>Transacci&oacute;n <code>TLSMT592</code></p>
 * <p>Informaci&oacute;n de la transacci&oacute;n:
 * <ul>
 *    <li><b>Tipo:</b> 1</li>
 *    <li><b>Subtipo:</b> 1</li>
 *    <li><b>Versi&oacute;n:</b> 1</li>
 *    <li><b>Clase de petici&oacute;n:</b> PeticionTransaccionTlsmt592_1_1_1</li>
 *    <li><b>Clase de respuesta:</b> RespuestaTransaccionTlsmt592_1_1_1</li>
 * </ul>
 * </p>
 * <p>Configuraci&oacute;n de la transacci&oacute;n:
 * <ul>
 *    <li><b>Nombre configuraci&oacute;n:</b> config_otma_aa01</li>
 * </ul>
 * </p>
 * <p>Copy de la transacci&oacute;n:</p>
 * <code><pre> * FICHERO: TLSMT592.txt
 * TLSMT592000100010001000000010000CANAL-SSTT          00000000FN000400004000010000000N        2001-05-262001-03-27A925857
 * TLSMT592000100010001000000020000REFEEXTE            00000000FA002000020000050000000         2001-05-262001-03-27A925857
 * TLSMT592000100010001000000030000HHMMSSCC            00000000FN000800008000250000000N        2001-05-262001-03-27A925857
 * TLSMT592000100010001000000040000FIRMAS              00000000FA000100160000330000000         2001-05-262001-03-27A925857
 * TLSMT592000100010001000000050000VERSION-SSTT        00000000FA000400004001930000000         2001-05-262001-03-27A925857
 * TLSMT592000100010001000000060000HUECO1              00000000FA000100076001970000000         2001-05-262001-03-27A925857
 * TLSMT592000100010001000000070000COMREFEX            00000000FA001200012002730000000         2001-05-262001-03-27A925857
 * TLSMT592000100010001000000080000TIPO-ACCION         00000000FA000100001002850000000         2001-05-262001-03-27A925857
 * TLSMT592000100010001000000090000FORMATO-ASUNTO      00000000FA000400004002860000000         2001-05-262001-03-27A925857
 * TLSMT592000100010001000000100000BANCSB-SOLICI       00000000FN000400004002900000000N        2001-05-262001-03-27A925857
 * TLSMT592000100010001000000110000CANAL-SOLICI        00000000FN000400004002940000000N        2001-05-262001-03-27A925857
 * TLSMT592000100010001000000120000REFEEXTE-SOLICI     00000000FA002000020002980000000         2001-05-262001-03-27A925857
 * TLSMT592000100010001000000130000SERVICIO-SOLICI     00000000OA000400004003180000000         2001-05-262001-03-27A925857
 * TLSMT592000100010001000000140000FECHA-DESDE         00000000OA001000010003220000000         2001-05-262001-03-27A925857
 * TLSMT592000100010001000000150000FECHA-HASTA         00000000OA001000010003320000000         2001-05-262001-03-27A925857
 * TLSMT592000100010001000000160000IMPORTE-DESDE       00000000ON000300015003420000002S        2001-05-262001-03-27A925857
 * TLSMT592000100010001000000170000IMPORTE-HASTA       00000000ON000300015003570000002S        2001-05-262001-03-27A925857
 * TLSMT592000100010001000000180000DIVISA              00000000OA000300003003720000000         2001-05-262001-03-27A925857
 * TLSMT592000100010001000000190000HUECO2              00000000FA000100041003750000000         2001-05-262001-03-27A925857
 * TLSMT592000100010001000100010000TIMESTAMP-SSTT      00000000OA000100020000010000000         2001-08-072001-07-30UA72147
 * TLSMT592000100010001000100020000VUELTA              00000000OS000100415000210000000         2001-08-072001-07-30UA72147
 * TLSMT592000100010001000100030000RETORNO-SSTT        00000000OA000100004004360000000         2001-08-072001-07-30UA72147
 * TLSMT592000100010001000100040000TIPO-RESPUESTA      00000000OA000100001004400000000         2001-08-072001-07-30UA72147
 * TLSMT592000100010001000100050000VACIO1              00000000OA000100079004410000000         2001-08-072001-07-30UA72147
 * TLSMT592000100010001000100060000HHMMSS              00000000ON000100006005200000000N        2001-08-072001-07-30UA72147
 * TLSMT592000100010001000100070000NUM-OCURRENCIAS     00000000ON000100003005260000000N        2001-08-072001-07-30UA72147
 * TLSMT592000100010001000100080000VACIO2              00000000OA000100060005290000000         2001-08-072001-07-30UA72147
 * TLSMT592000100010001000100090000TABLA-SALIDA        02000008  012124200005890000000         2001-08-072001-07-30A925857
 * TLSMT592000100010001000100090001TIMESTAMP-FICHE     00000000OA000100026005890000000         2001-08-072001-07-30UA72147
 * TLSMT592000100010001000100090002NOMBRE-FICHERO      00000000OA000100040006150000000         2001-08-072001-07-30UA72147
 * TLSMT592000100010001000100090003IMPORTE-FICHERO     00000000ON000100015006550000002S        2001-08-072001-07-30UA72147
 * TLSMT592000100010001000100090004DIVISA-FICHERO      00000000OA000100003006700000000         2001-08-072001-07-30UA72147
 * TLSMT592000100010001000100090005SITUACION-FICHE     00000000OA000100008006730000000         2001-08-072001-07-30A925857
 * TLSMT592000100010001000100090006FECHA-PROCESO       00000000OA000100010006810000000         2001-08-072001-07-30A925857
 * TLSMT592000100010001000100090007FECHA-SERVICIO      00000000OA000100010006910000000         2001-08-072001-07-30A925857
 * TLSMT592000100010001000100090008ORDENES-FICHERO     00000000ON000100009007010000000N        2001-08-072001-07-30A925857
 * TLSMT592000100010001000200010000TIMESTAMP-SSTT      00000000OA000100020000010000000         2001-05-262001-03-28A925857
 * TLSMT592000100010001000200020000VUELTA              00000000OS000100415000210000000         2001-05-262001-03-28A925857
 * TLSMT592000100010001000200030000RETORNO-SSTT        00000000OA000100004004360000000         2001-05-262001-03-28A925857
 * TLSMT592000100010001000200040000TIPO-RESPUESTA      00000000OA000100001004400000000         2001-05-262001-03-28A925857
 * TLSMT592000100010001000200050000VACIO1              00000000OA000100080004410000000         2001-05-262001-03-28A925857
 * TLSMT592000100010001000200060000MENSAJE-SSTT        00000000OA000100080005210000000         2001-05-262001-03-28A925857
</pre></code>
 * 
 * @see RespuestaTransaccionTlsmt592_1_1_1
 * 
 * @author Arquitectura Spring BBVA
 */
@Transaccion(
	nombre = "TLSMT592",
	tipo = 1, 
	subtipo = 1,	
	version = 1,
	configuracion = "config_otma_aa01",
	respuesta = RespuestaTransaccionTlsmt592_1_1_1.class
)
@RooJavaBean
@RooToString
@RooSerializable
public class PeticionTransaccionTlsmt592_1_1_1 implements java.io.Serializable {
	
	/** <p>Campo <code>CANAL-SSTT</code>, &iacute;ndice: <code>1</code>, tipo: <code>ENTERO</code>. */
	@Campo(indice = 1, nombre = "CANAL-SSTT", tipo = TipoCampo.ENTERO, longitudMinima = 4, longitudMaxima = 4, obligatorio = true)
	private int canalSstt;
	
	/** <p>Campo <code>REFEEXTE</code>, &iacute;ndice: <code>2</code>, tipo: <code>ALFANUMERICO</code>. */
	@Campo(indice = 2, nombre = "REFEEXTE", tipo = TipoCampo.ALFANUMERICO, longitudMinima = 20, longitudMaxima = 20, obligatorio = true)
	private String refeexte;
	
	/** <p>Campo <code>HHMMSSCC</code>, &iacute;ndice: <code>3</code>, tipo: <code>ENTERO</code>. */
	@Campo(indice = 3, nombre = "HHMMSSCC", tipo = TipoCampo.ENTERO, longitudMinima = 8, longitudMaxima = 8, obligatorio = true)
	private int hhmmsscc;
	
	/** <p>Campo <code>FIRMAS</code>, &iacute;ndice: <code>4</code>, tipo: <code>ALFANUMERICO</code>. */
	@Campo(indice = 4, nombre = "FIRMAS", tipo = TipoCampo.ALFANUMERICO, longitudMinima = 1, longitudMaxima = 160, obligatorio = true)
	private String firmas;
	
	/** <p>Campo <code>VERSION-SSTT</code>, &iacute;ndice: <code>5</code>, tipo: <code>ALFANUMERICO</code>. */
	@Campo(indice = 5, nombre = "VERSION-SSTT", tipo = TipoCampo.ALFANUMERICO, longitudMinima = 4, longitudMaxima = 4, obligatorio = true)
	private String versionSstt;
	
	/** <p>Campo <code>HUECO1</code>, &iacute;ndice: <code>6</code>, tipo: <code>ALFANUMERICO</code>. */
	@Campo(indice = 6, nombre = "HUECO1", tipo = TipoCampo.ALFANUMERICO, longitudMinima = 1, longitudMaxima = 76, obligatorio = true)
	private String hueco1;
	
	/** <p>Campo <code>COMREFEX</code>, &iacute;ndice: <code>7</code>, tipo: <code>ALFANUMERICO</code>. */
	@Campo(indice = 7, nombre = "COMREFEX", tipo = TipoCampo.ALFANUMERICO, longitudMinima = 12, longitudMaxima = 12, obligatorio = true)
	private String comrefex;
	
	/** <p>Campo <code>TIPO-ACCION</code>, &iacute;ndice: <code>8</code>, tipo: <code>ALFANUMERICO</code>. */
	@Campo(indice = 8, nombre = "TIPO-ACCION", tipo = TipoCampo.ALFANUMERICO, longitudMinima = 1, longitudMaxima = 1, obligatorio = true)
	private String tipoAccion;
	
	/** <p>Campo <code>FORMATO-ASUNTO</code>, &iacute;ndice: <code>9</code>, tipo: <code>ALFANUMERICO</code>. */
	@Campo(indice = 9, nombre = "FORMATO-ASUNTO", tipo = TipoCampo.ALFANUMERICO, longitudMinima = 4, longitudMaxima = 4, obligatorio = true)
	private String formatoAsunto;
	
	/** <p>Campo <code>BANCSB-SOLICI</code>, &iacute;ndice: <code>10</code>, tipo: <code>ENTERO</code>. */
	@Campo(indice = 10, nombre = "BANCSB-SOLICI", tipo = TipoCampo.ENTERO, longitudMinima = 4, longitudMaxima = 4, obligatorio = true)
	private int bancsbSolici;
	
	/** <p>Campo <code>CANAL-SOLICI</code>, &iacute;ndice: <code>11</code>, tipo: <code>ENTERO</code>. */
	@Campo(indice = 11, nombre = "CANAL-SOLICI", tipo = TipoCampo.ENTERO, longitudMinima = 4, longitudMaxima = 4, obligatorio = true)
	private int canalSolici;
	
	/** <p>Campo <code>REFEEXTE-SOLICI</code>, &iacute;ndice: <code>12</code>, tipo: <code>ALFANUMERICO</code>. */
	@Campo(indice = 12, nombre = "REFEEXTE-SOLICI", tipo = TipoCampo.ALFANUMERICO, longitudMinima = 20, longitudMaxima = 20, obligatorio = true)
	private String refeexteSolici;
	
	/** <p>Campo <code>SERVICIO-SOLICI</code>, &iacute;ndice: <code>13</code>, tipo: <code>ALFANUMERICO</code>. */
	@Campo(indice = 13, nombre = "SERVICIO-SOLICI", tipo = TipoCampo.ALFANUMERICO, longitudMinima = 4, longitudMaxima = 4)
	private String servicioSolici;
	
	/** <p>Campo <code>FECHA-DESDE</code>, &iacute;ndice: <code>14</code>, tipo: <code>FECHA</code>. */
	@Campo(indice = 14, nombre = "FECHA-DESDE", tipo = TipoCampo.FECHA, longitudMinima = 10, longitudMaxima = 10, formato = "yyyy-MM-dd")
	private Date fechaDesde;
	
	/** <p>Campo <code>FECHA-HASTA</code>, &iacute;ndice: <code>15</code>, tipo: <code>FECHA</code>. */
	@Campo(indice = 15, nombre = "FECHA-HASTA", tipo = TipoCampo.FECHA, longitudMinima = 10, longitudMaxima = 10, formato = "yyyy-MM-dd")
	private Date fechaHasta;
	
	/** <p>Campo <code>IMPORTE-DESDE</code>, &iacute;ndice: <code>16</code>, tipo: <code>DECIMAL</code>. */
	@Campo(indice = 16, nombre = "IMPORTE-DESDE", tipo = TipoCampo.DECIMAL, longitudMinima = 3, longitudMaxima = 15, signo = true, decimales = 2)
	private BigDecimal importeDesde;
	
	/** <p>Campo <code>IMPORTE-HASTA</code>, &iacute;ndice: <code>17</code>, tipo: <code>DECIMAL</code>. */
	@Campo(indice = 17, nombre = "IMPORTE-HASTA", tipo = TipoCampo.DECIMAL, longitudMinima = 3, longitudMaxima = 15, signo = true, decimales = 2)
	private BigDecimal importeHasta;
	
	/** <p>Campo <code>DIVISA</code>, &iacute;ndice: <code>18</code>, tipo: <code>ALFANUMERICO</code>. */
	@Campo(indice = 18, nombre = "DIVISA", tipo = TipoCampo.ALFANUMERICO, longitudMinima = 3, longitudMaxima = 3)
	private String divisa;
	
	/** <p>Campo <code>HUECO2</code>, &iacute;ndice: <code>19</code>, tipo: <code>ALFANUMERICO</code>. */
	@Campo(indice = 19, nombre = "HUECO2", tipo = TipoCampo.ALFANUMERICO, longitudMinima = 1, longitudMaxima = 41, obligatorio = true)
	private String hueco2;
	

	/**
	 * Gets the canal sstt.
	 *
	 * @return the canal sstt
	 */
	public int getCanalSstt() {
        return this.canalSstt;
    }

	/**
	 * Sets the canal sstt.
	 *
	 * @param canalSstt the new canal sstt
	 */
	public void setCanalSstt(int canalSstt) {
        this.canalSstt = canalSstt;
    }

	/**
	 * Gets the refeexte.
	 *
	 * @return the refeexte
	 */
	public String getRefeexte() {
        return this.refeexte;
    }

	/**
	 * Sets the refeexte.
	 *
	 * @param refeexte the new refeexte
	 */
	public void setRefeexte(String refeexte) {
        this.refeexte = refeexte;
    }

	/**
	 * Gets the hhmmsscc.
	 *
	 * @return the hhmmsscc
	 */
	public int getHhmmsscc() {
        return this.hhmmsscc;
    }

	/**
	 * Sets the hhmmsscc.
	 *
	 * @param hhmmsscc the new hhmmsscc
	 */
	public void setHhmmsscc(int hhmmsscc) {
        this.hhmmsscc = hhmmsscc;
    }

	/**
	 * Gets the firmas.
	 *
	 * @return the firmas
	 */
	public String getFirmas() {
        return this.firmas;
    }

	/**
	 * Sets the firmas.
	 *
	 * @param firmas the new firmas
	 */
	public void setFirmas(String firmas) {
        this.firmas = firmas;
    }

	/**
	 * Gets the version sstt.
	 *
	 * @return the version sstt
	 */
	public String getVersionSstt() {
        return this.versionSstt;
    }

	/**
	 * Sets the version sstt.
	 *
	 * @param versionSstt the new version sstt
	 */
	public void setVersionSstt(String versionSstt) {
        this.versionSstt = versionSstt;
    }

	/**
	 * Gets the hueco1.
	 *
	 * @return the hueco1
	 */
	public String getHueco1() {
        return this.hueco1;
    }

	/**
	 * Sets the hueco1.
	 *
	 * @param hueco1 the new hueco1
	 */
	public void setHueco1(String hueco1) {
        this.hueco1 = hueco1;
    }

	/**
	 * Gets the comrefex.
	 *
	 * @return the comrefex
	 */
	public String getComrefex() {
        return this.comrefex;
    }

	/**
	 * Sets the comrefex.
	 *
	 * @param comrefex the new comrefex
	 */
	public void setComrefex(String comrefex) {
        this.comrefex = comrefex;
    }

	/**
	 * Gets the tipo accion.
	 *
	 * @return the tipo accion
	 */
	public String getTipoAccion() {
        return this.tipoAccion;
    }

	/**
	 * Sets the tipo accion.
	 *
	 * @param tipoAccion the new tipo accion
	 */
	public void setTipoAccion(String tipoAccion) {
        this.tipoAccion = tipoAccion;
    }

	/**
	 * Gets the formato asunto.
	 *
	 * @return the formato asunto
	 */
	public String getFormatoAsunto() {
        return this.formatoAsunto;
    }

	/**
	 * Sets the formato asunto.
	 *
	 * @param formatoAsunto the new formato asunto
	 */
	public void setFormatoAsunto(String formatoAsunto) {
        this.formatoAsunto = formatoAsunto;
    }

	/**
	 * Gets the bancsb solici.
	 *
	 * @return the bancsb solici
	 */
	public int getBancsbSolici() {
        return this.bancsbSolici;
    }

	/**
	 * Sets the bancsb solici.
	 *
	 * @param bancsbSolici the new bancsb solici
	 */
	public void setBancsbSolici(int bancsbSolici) {
        this.bancsbSolici = bancsbSolici;
    }

	/**
	 * Gets the canal solici.
	 *
	 * @return the canal solici
	 */
	public int getCanalSolici() {
        return this.canalSolici;
    }

	/**
	 * Sets the canal solici.
	 *
	 * @param canalSolici the new canal solici
	 */
	public void setCanalSolici(int canalSolici) {
        this.canalSolici = canalSolici;
    }

	/**
	 * Gets the refeexte solici.
	 *
	 * @return the refeexte solici
	 */
	public String getRefeexteSolici() {
        return this.refeexteSolici;
    }

	/**
	 * Sets the refeexte solici.
	 *
	 * @param refeexteSolici the new refeexte solici
	 */
	public void setRefeexteSolici(String refeexteSolici) {
        this.refeexteSolici = refeexteSolici;
    }

	/**
	 * Gets the servicio solici.
	 *
	 * @return the servicio solici
	 */
	public String getServicioSolici() {
        return this.servicioSolici;
    }

	/**
	 * Sets the servicio solici.
	 *
	 * @param servicioSolici the new servicio solici
	 */
	public void setServicioSolici(String servicioSolici) {
        this.servicioSolici = servicioSolici;
    }

	/**
	 * Gets the fecha desde.
	 *
	 * @return the fecha desde
	 */
	public Date getFechaDesde() {
        return this.fechaDesde;
    }

	/**
	 * Sets the fecha desde.
	 *
	 * @param fechaDesde the new fecha desde
	 */
	public void setFechaDesde(Date fechaDesde) {
        this.fechaDesde = fechaDesde;
    }

	/**
	 * Gets the fecha hasta.
	 *
	 * @return the fecha hasta
	 */
	public Date getFechaHasta() {
        return this.fechaHasta;
    }

	/**
	 * Sets the fecha hasta.
	 *
	 * @param fechaHasta the new fecha hasta
	 */
	public void setFechaHasta(Date fechaHasta) {
        this.fechaHasta = fechaHasta;
    }

	/**
	 * Gets the importe desde.
	 *
	 * @return the importe desde
	 */
	public BigDecimal getImporteDesde() {
        return this.importeDesde;
    }

	/**
	 * Sets the importe desde.
	 *
	 * @param importeDesde the new importe desde
	 */
	public void setImporteDesde(BigDecimal importeDesde) {
        this.importeDesde = importeDesde;
    }

	/**
	 * Gets the importe hasta.
	 *
	 * @return the importe hasta
	 */
	public BigDecimal getImporteHasta() {
        return this.importeHasta;
    }

	/**
	 * Sets the importe hasta.
	 *
	 * @param importeHasta the new importe hasta
	 */
	public void setImporteHasta(BigDecimal importeHasta) {
        this.importeHasta = importeHasta;
    }

	/**
	 * Gets the divisa.
	 *
	 * @return the divisa
	 */
	public String getDivisa() {
        return this.divisa;
    }

	/**
	 * Sets the divisa.
	 *
	 * @param divisa the new divisa
	 */
	public void setDivisa(String divisa) {
        this.divisa = divisa;
    }

	/**
	 * Gets the hueco2.
	 *
	 * @return the hueco2
	 */
	public String getHueco2() {
        return this.hueco2;
    }

	/**
	 * Sets the hueco2.
	 *
	 * @param hueco2 the new hueco2
	 */
	public void setHueco2(String hueco2) {
        this.hueco2 = hueco2;
    }

	/** The Constant serialVersionUID. */
	private static final long serialVersionUID = 1L;

	/**{@inheritDoc}
	 * @see java.lang.Object#toString()
	 */
	public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("BancsbSolici: ").append(getBancsbSolici()).append(", ");
        sb.append("CanalSolici: ").append(getCanalSolici()).append(", ");
        sb.append("CanalSstt: ").append(getCanalSstt()).append(", ");
        sb.append("Comrefex: ").append(getComrefex()).append(", ");
        sb.append("Divisa: ").append(getDivisa()).append(", ");
        sb.append("FechaDesde: ").append(getFechaDesde()).append(", ");
        sb.append("FechaHasta: ").append(getFechaHasta()).append(", ");
        sb.append("Firmas: ").append(getFirmas()).append(", ");
        sb.append("FormatoAsunto: ").append(getFormatoAsunto()).append(", ");
        sb.append("Hhmmsscc: ").append(getHhmmsscc()).append(", ");
        sb.append("Hueco1: ").append(getHueco1()).append(", ");
        sb.append("Hueco2: ").append(getHueco2()).append(", ");
        sb.append("ImporteDesde: ").append(getImporteDesde()).append(", ");
        sb.append("ImporteHasta: ").append(getImporteHasta()).append(", ");
        sb.append("Refeexte: ").append(getRefeexte()).append(", ");
        sb.append("RefeexteSolici: ").append(getRefeexteSolici()).append(", ");
        sb.append("ServicioSolici: ").append(getServicioSolici()).append(", ");
        sb.append("TipoAccion: ").append(getTipoAccion()).append(", ");
        sb.append("VersionSstt: ").append(getVersionSstt());
        return sb.toString();
    }
}